/**
 * 
 */
package com.wegax.finprod.accountcard;

import com.wegax.finprod.application.Application;
import com.wegax.finprod.application.ApplicationFormType;

/**
 * @author wegax
 * 
 */
public class PersonalAccountDebitCardMapperImpl implements PersonalAccountDebitCardMapper, Application {

	private String applicationFormIdentifier;

	private String name;

	private String surname;

	private String pesel;

	private String identityCard;

	private String email;

	private CountryCode country1;

	private CountryCode country2;

	private String city1;

	private String city2;

	private String street1;

	private String street2;

	private String houseNr1;

	private String houseNr2;

	private String flatNr1;

	private String flatNr2;

	private String postalCode1;

	private String postalCode2;

	private boolean isCorespAddressAvailable;

	private AccountType accountType;

	private CurrencyType currencyType;

	private boolean paycardKindAvailability;

	private PaycardType paycardType;

	private String emboss;

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setName(java.lang.String)
	 */
	@Override
	public void setName(String value) {
		this.name = value;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setSurname(java.lang.String)
	 */
	@Override
	public void setSurname(String value) {
		this.surname = value;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setPesel(java.lang.String)
	 */
	@Override
	public void setPesel(String value) {
		this.pesel = value;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setIdentityCard(java.lang.String)
	 */
	@Override
	public void setIdentityCard(String value) {
		this.identityCard = value;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setEmail(java.lang.String)
	 */
	@Override
	public void setEmail(String email) {
		this.email = email;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setCountry1(java.lang.String)
	 */
	@Override
	public void setCountry1(CountryCode country1) {
		this.country1 = country1;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setCountry2(java.lang.String)
	 */
	@Override
	public void setCountry2(CountryCode country2) {
		this.country2 = country2;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setCity1(java.lang.String)
	 */
	@Override
	public void setCity1(String city1) {
		this.city1 = city1;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setCity2(java.lang.String)
	 */
	@Override
	public void setCity2(String city2) {
		this.city2 = city2;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setStreet1(java.lang.String)
	 */
	@Override
	public void setStreet1(String street1) {
		this.street1 = street1;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setStreet2(java.lang.String)
	 */
	@Override
	public void setStreet2(String street2) {
		this.street2 = street2;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setHouseNr1(java.lang.String)
	 */
	@Override
	public void setHouseNr1(String houseNr1) {
		this.houseNr1 = houseNr1;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setHouseNr2(java.lang.String)
	 */
	@Override
	public void setHouseNr2(String houseNr2) {
		this.houseNr2 = houseNr2;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setFlatNr1(java.lang.String)
	 */
	@Override
	public void setFlatNr1(String flatNr1) {
		this.flatNr1 = flatNr1;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setFlatNr2(java.lang.String)
	 */
	@Override
	public void setFlatNr2(String flatNr2) {
		this.flatNr2 = flatNr2;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setPostalCode1(java.lang.String)
	 */
	@Override
	public void setPostalCode1(String postalCode1) {
		this.postalCode1 = postalCode1;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setPostalCode2(java.lang.String)
	 */
	@Override
	public void setPostalCode2(String postalCode2) {
		this.postalCode2 = postalCode2;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setCorrespondencAdrressAvailable(boolean)
	 */
	@Override
	public void setCorrespondencAdrressAvailable(boolean isCorespAddressAvailable) {
		this.isCorespAddressAvailable = isCorespAddressAvailable;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setAccountType(com.wegax.finprod
	 * .accountcard.AccountType)
	 */
	@Override
	public void setAccountType(AccountType accountType) {
		this.accountType = accountType;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setCurrencyType(com.wegax.finprod
	 * .accountcard.CurrencyType)
	 */
	@Override
	public void setCurrencyType(CurrencyType currencyType) {
		this.currencyType = currencyType;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setPaycardKindAvailability(boolean)
	 */
	@Override
	public void setPaycardKindAvailability(boolean paycardKindAvailability) {
		this.paycardKindAvailability = paycardKindAvailability;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setPaycardType(com.wegax.finprod
	 * .accountcard.PaycardType)
	 */
	@Override
	public void setPaycardType(PaycardType paycardType) {
		this.paycardType = paycardType;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.accountcard.PersonalAccountDebitCardMapper#setEmboss(java.lang.String)
	 */
	@Override
	public void setEmboss(String emboss) {
		this.emboss = emboss;
	}

	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("PersonalAccountDebitCardMapperImpl [applicationFormIdentifier=")
				.append(applicationFormIdentifier).append(", name=").append(name).append(", surname=").append(surname)
				.append(", pesel=").append(pesel).append(", identityCard=").append(identityCard).append(", email=")
				.append(email).append(", country1=").append(country1).append(", country2=").append(country2)
				.append(", city1=").append(city1).append(", city2=").append(city2).append(", street1=").append(street1)
				.append(", street2=").append(street2).append(", houseNr1=").append(houseNr1).append(", houseNr2=")
				.append(houseNr2).append(", flatNr1=").append(flatNr1).append(", flatNr2=").append(flatNr2)
				.append(", postalCode1=").append(postalCode1).append(", postalCode2=").append(postalCode2)
				.append(", isCorespAddressAvailable=").append(isCorespAddressAvailable).append(", accountType=")
				.append(accountType).append(", currencyType=").append(currencyType)
				.append(", paycardKindAvailability=").append(paycardKindAvailability).append(", paycardType=")
				.append(paycardType).append(", emboss=").append(emboss).append(", getApplicationFormType()=")
				.append(getApplicationFormType()).append("]");
		return builder.toString();
	}

	@Override
	public boolean isCorespAddressAvailable() {
		return isCorespAddressAvailable;
	}

	@Override
	public String getName() {
		return name;
	}

	@Override
	public String getSurname() {
		return surname;
	}

	@Override
	public String getPesel() {
		return pesel;
	}

	@Override
	public String getIdentityCard() {
		return identityCard;
	}

	@Override
	public String getEmail() {
		return email;
	}

	@Override
	public CountryCode getCountry1() {
		return country1;
	}

	@Override
	public CountryCode getCountry2() {
		return country2;
	}

	@Override
	public String getCity1() {
		return city1;
	}

	@Override
	public String getCity2() {
		return city2;
	}

	@Override
	public String getStreet1() {
		return street1;
	}

	@Override
	public String getStreet2() {
		return street2;
	}

	@Override
	public String getHouseNr1() {
		return houseNr1;
	}

	@Override
	public String getHouseNr2() {
		return houseNr2;
	}

	@Override
	public String getFlatNr1() {
		return flatNr1;
	}

	@Override
	public String getFlatNr2() {
		return flatNr2;
	}

	@Override
	public String getPostalCode1() {
		return postalCode1;
	}

	@Override
	public String getPostalCode2() {
		return postalCode2;
	}

	@Override
	public AccountType getAccountType() {
		return accountType;
	}

	@Override
	public CurrencyType getCurrencyType() {
		return currencyType;
	}

	@Override
	public boolean isPaycardKindAvailability() {
		return paycardKindAvailability;
	}

	@Override
	public PaycardType getPaycardType() {
		return paycardType;
	}

	@Override
	public String getEmboss() {
		return emboss;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.application.Application#getApplicationFormType()
	 */
	@Override
	public ApplicationFormType getApplicationFormType() {
		return ApplicationFormType.PERSONAL_ACCOUNT_DEBIT_CARD;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.application.Application#getCustomerIdentifier()
	 */
	@Override
	public String getCustomerIdentifier() {
		return identityCard;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.wegax.finprod.application.Application#withApplicationFormIdentifier(java.lang.String)
	 */
	@Override
	public void withApplicationFormIdentifier(String applicationFormIdentifier) {
		this.applicationFormIdentifier = applicationFormIdentifier;
	}

}
